package com.wyh.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wyh.common.request.PageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 【请填写功能名称】请求对象 msg_chat_room_record
 *
 * @author WangYuHang
 * @date 2024-03-08
 */
@Data
@ApiModel(value = "【请填写功能名称】对象")
@EqualsAndHashCode(callSuper = true)
public class MsgChatRoomRecordRequest extends PageRequest {



    /**
     * 唯一主键自增
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * 消息ID，唯一，不允许为空
     */
    @ApiModelProperty(value = "消息ID，唯一，不允许为空")
    private Long messageId;

    /**
     * 发送人ID
     */
    @ApiModelProperty(value = "发送人ID")
    private String fromId;

    /**
     * 群聊ID
     */
    @ApiModelProperty(value = "群聊ID")
    private String toChatRoomId;

    /**
     * 消息类型：1:文字；47:emoji;43:音频;49:文件;48:位置;3:图片
     */
    @ApiModelProperty(value = "消息类型：1:文字；47:emoji;43:音频;49:文件;48:位置;3:图片")
    private Integer type;

    /**
     * 发送内容
     */
    @ApiModelProperty(value = "发送内容")
    private String content;

    /**
     * 发送时间，不允许为空
     */
    @ApiModelProperty(value = "发送时间，不允许为空")
    private LocalDateTime sendTime;

    /**
     * 是否删除，默认为否
     */
    @ApiModelProperty(value = "是否删除，默认为否")
    private Integer isDelete;

    /**
     * 创建人ID，可为NULL表示系统创建
     */
    @ApiModelProperty(value = "创建人ID，可为NULL表示系统创建")
    private String createUserId;

    /**
     * 创建时间，默认为当前时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间，默认为当前时间")
    private LocalDateTime createTime;

    /**
     * 更新人ID，可为NULL表示系统更新
     */
    @ApiModelProperty(value = "更新人ID，可为NULL表示系统更新")
    private String updateUserId;

    /**
     * 更新时间，默认为当前时间，自动更新
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间，默认为当前时间，自动更新")
    private LocalDateTime updateTime;
}
